#ifndef SEM_ONCE
#define SEM_ONCE
#include<iostream>
#include <semaphore.h>

class Sem
{
public:
    Sem(int val)
    {
        sem_init(&sem_,0,val);//初始化信号量
    }
    void P()
    {
        sem_wait(&sem_);
    }
    void V()
    {
        sem_post(&sem_);
    }
    ~Sem()
    {
        sem_destroy(&sem_);//销毁信号量
    }
private:
    sem_t sem_;//信号量
};
#endif